The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent the work is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
Finite impulse response (FIR) filters are used to shape and filter an input signal to obtain an output signal with desired characteristics. For example only, FIR filters may be used in Ethernet transceivers, read circuits for disk drives, ghost cancellation in broadcast and cable TV transmission, channel equalization for communication in magnetic recording, echo cancellation, estimation/prediction for speech processing, adaptive noise cancellation, etc.
Typically, an FIR filter includes multiple stages each including an input, a multiplier that multiples an input signal by a coefficient and a summer for summing the multiplication result with the output from an adjacent stage. The coefficients are selected to achieve the filtering and output characteristics desired in the output signal. These coefficients (or filter tap weights) are often variable, and can be determined from, e.g., a minimum mean squared error (MMSE) or least mean square (LMS) algorithm based on gradient optimization. FIR filters with coefficients that are variable are often called adaptive FIR filters. The input signal is a discrete time sequence that may be analog or digital. The output is also a discrete time sequence that is the convolution of the input sequence and the filter impulse response, as determined by the coefficients.
Virtually any linear system response can be modeled as an FIR response, as long as sufficient stages are provided. Because of this feature and relatively high stability, FIR filters have found widespread popularity and are used extensively.
Referring to FIG. 1, an adaptive FIR filter arrangement 10, which is commonly referred to as a least mean square (LMS) adaptation, is illustrated. An input 4 to channel module 5 may comprise a digital bit stream, although analog signals could also be utilized. Channel module 5 operates on input 4 and outputs a sample 11, which is then input to adaptive FIR filter module 12. This input 11 to adaptive FIR filter module 12 may be represented by the variable rk or r(k), which can be governed by the equation:rk=C(ak),  (1)where rk equals the output 11 of channel module 5 at time k, ak is input 4 to channel module 5 at time k, and C(x) is the response of channel module 5 based on input x.
Adaptive FIR filter module 12 receives r input 11 and outputs FIR sample 13, which can be represented by the variable Y. The output 13 can be governed by the equation:Y(k)=F(rk),  (2)where Y(k) equals output 13 of FIR filter module 12 at time k, rk is input 11 to FIR filter module 12 at time k, and F(x) is the response of FIR filter module 12 based on input x. The output 13 of FIR filter module 12 is received at detector module 14. The output 15 of detector module 14 reconstructs the binary bit stream 4 that is input to channel module 5. Under ideal conditions, the output 15 of detector module 14 is equal to input 4 of channel module 5.
Adaptive FIR filter module 12, in conjunction with detector module 14, reconstructs the binary bit stream 4 from the output 11 of channel module 5. This is accomplished by transforming the output 11 of channel module 5 into the input 4 as closely as possible. In practice, however, the impulse response of channel module 5 is unknown and may be somewhat unpredictable. This unpredictability is partially related to inter-symbol interference or noise that may be present in the channel module 5. Furthermore, cost or design considerations may dictate the use of low order filters or detectors of relatively low complexity such that an exact duplication of input 4 from output 11 may be impractical or impossible. Nonetheless, adaptive FIR filter module 12 is arranged in adaptive filter arrangement 10 such that a measurement of the error is minimized.
In the LMS adaptation of FIG. 1, output 15 of detector module 14 is input to a target response module 16. Target response module 16 comprises an impulse response that is designed to be the target response desired from FIR filter module 12. The output 17 of target response module 16 may be governed by:Y′(k)=T(a′k),  (3)where Y′(k) equals output 17 of target response module 16 at time k, a′k is the output of detector module 14 at time k, and T(x) is the impulse response of target response module 16 based on input x.
FIR filter arrangement 10 is arranged such that the error between output 13 of FIR filter module 12 and output 17 of target response module 16 is minimized. This is accomplished by subtracting the output 13 of FIR filter module 12 from the output 17 of target response module 16 with adder 18 to generate error signal 19, which will be referred to as ek or e(k), which is the difference between output 13 and output 17 at time k. The error signal e(k) 19 is received at signum function module 20, which is governed by the equation:
                              sgn          ⁡                      (            x            )                          =                              {                                                                                                      1                      ⁢                                                                                          ⁢                      if                      ⁢                                                                                          ⁢                      x                                        ≥                    0                                                                                                                                                                  -                        1                                            ⁢                                                                                          ⁢                      if                      ⁢                                                                                          ⁢                      x                                        <                    0                                                                        }                    .                                    (        4        )            The output 21 of signum function module 20 is then multiplied by r signal 11 to obtain FIR adaptation input 23.
Adaptive FIR filter module 12 utilizes input 23 to update its coefficients with equation:fi(k+1)=fi(k)+μ sgn[e(k)]r(k−i),  (5)where fi(x) equals the ith coefficient of FIR filter module 12 at time x,
            sgn      ⁡              (        x        )              =          {                                                                  1                ⁢                                                                  ⁢                if                ⁢                                                                  ⁢                x                            ≥              0                                                                                                            -                  1                                ⁢                                                                  ⁢                if                ⁢                                                                  ⁢                x                            <              0                                          }        ,e(k) equals Y′(k)-Y(k), as described above, r(x) equals the output 11 of channel module 5 at time x, and μ is a constant, which is sometimes referred to as the adaptive step size. This arrangement 10 is sometimes referred to as a sign-error LMS algorithm. Alternatively, the signum function module 20 may be eliminated and the FIR filter module 12 may be adapted based on the equation:fi(k+1)=fi(k)+μe(k)r(k−i),  (6)where all of the variables are the same as above.
Referring now to FIG. 2, a FIR filter arrangement 30, often referred to as a zero-forcing (ZF) adaptation, is illustrated. In this example, channel module 25 receives binary bit stream input 24 and outputs ADC sample 31. Detector module 34 receives the output 33 of FIR filter module 32 and outputs a reconstructed bit stream 35, which, under ideal conditions, equals input stream 24. The adaptation input 43 to adaptive FIR filter module 32 comprises the output of multiplier 42, i.e., the product of the output 37 of target response module 36 and the output 41 of the signum function module 40 that receives as its input error signal 39, which is the difference between output 37 of target response module 36 and output 33 of FIR filter module 32. Adaptive FIR filter module 32 utilizes adaptation input 43 with the following equation:fi(k+1)=fi(k)+μ sgn[e(k)]Y′(k−1).  (7)
In each of the above adaptations, poor performance of FIR filter module 12 occurs under certain conditions. For example, the ZF adaptation may perform better than the LMS adaptation at low signal to noise ratios for inputs to the system. Unfortunately, however, this ZF adaptation may exhibit poor performance, including the failure to converge, under different operating conditions.